/*
 *  Copyright 2025 Collate.
 *  Licensed under the Apache License, Version 2.0 (the "License");
 *  you may not use this file except in compliance with the License.
 *  You may obtain a copy of the License at
 *  http://www.apache.org/licenses/LICENSE-2.0
 *  Unless required by applicable law or agreed to in writing, software
 *  distributed under the License is distributed on an "AS IS" BASIS,
 *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *  See the License for the specific language governing permissions and
 *  limitations under the License.
 */
export const TABLE_COLUMNS_KEYS = {
  NAME: 'name',
  TAGS: 'tags',
  DOMAINS: 'domains',
  OWNERS: 'owners',
  GLOSSARY: 'glossary',
  DATA_TYPE: 'dataType',
  TASK_TYPE: 'taskType',
  CHART_NAME: 'chartName',
  CHART_TYPE: 'chartType',
  DESCRIPTION: 'description',
  DISPLAY_NAME: 'displayName',
  SERVICE_TYPE: 'serviceType',
  DATA_PRODUCTS: 'dataProducts',
  USAGE_SUMMARY: 'usageSummary',
  DATA_MODEL_TYPE: 'dataModelType',
  SCHEDULE_INTERVAL: 'scheduleInterval',
  DATA_TYPE_DISPLAY: 'dataTypeDisplay',
  DATA_QUALITY_TEST: 'dataQualityTest',
  REQUEST_METHOD: 'requestMethod',
};

export const COMMON_STATIC_TABLE_VISIBLE_COLUMNS = [TABLE_COLUMNS_KEYS.NAME];

export const DEFAULT_SCHEMA_TABLE_VISIBLE_COLUMNS = [
  TABLE_COLUMNS_KEYS.DESCRIPTION,
  TABLE_COLUMNS_KEYS.DATA_TYPE_DISPLAY,
  TABLE_COLUMNS_KEYS.TAGS,
  TABLE_COLUMNS_KEYS.GLOSSARY,
];

export const DEFAULT_PIPELINE_VISIBLE_COLUMNS = [
  TABLE_COLUMNS_KEYS.DESCRIPTION,
  TABLE_COLUMNS_KEYS.TASK_TYPE,
  TABLE_COLUMNS_KEYS.OWNERS,
  TABLE_COLUMNS_KEYS.TAGS,
  TABLE_COLUMNS_KEYS.GLOSSARY,
];

export const DEFAULT_SEARCH_INDEX_VISIBLE_COLUMNS = [
  TABLE_COLUMNS_KEYS.DESCRIPTION,
  TABLE_COLUMNS_KEYS.DATA_TYPE_DISPLAY,
  TABLE_COLUMNS_KEYS.TAGS,
  TABLE_COLUMNS_KEYS.GLOSSARY,
];

export const DEFAULT_DASHBOARD_DATA_MODEL_VISIBLE_COLUMNS = [
  TABLE_COLUMNS_KEYS.DATA_TYPE,
  TABLE_COLUMNS_KEYS.DESCRIPTION,
  TABLE_COLUMNS_KEYS.TAGS,
  TABLE_COLUMNS_KEYS.GLOSSARY,
];

export const DEFAULT_DATA_MODEL_TYPE_VISIBLE_COLUMNS = [
  TABLE_COLUMNS_KEYS.DATA_MODEL_TYPE,
  TABLE_COLUMNS_KEYS.DESCRIPTION,
  TABLE_COLUMNS_KEYS.OWNERS,
  TABLE_COLUMNS_KEYS.TAGS,
];
export const DEFAULT_DASHBOARD_CHART_VISIBLE_COLUMNS = [
  TABLE_COLUMNS_KEYS.CHART_TYPE,
  TABLE_COLUMNS_KEYS.DESCRIPTION,
  TABLE_COLUMNS_KEYS.TAGS,
  TABLE_COLUMNS_KEYS.GLOSSARY,
];

export const DEFAULT_API_ENDPOINT_SCHEMA_VISIBLE_COLUMNS = [
  TABLE_COLUMNS_KEYS.DATA_TYPE,
  TABLE_COLUMNS_KEYS.DESCRIPTION,
  TABLE_COLUMNS_KEYS.TAGS,
  TABLE_COLUMNS_KEYS.GLOSSARY,
];

export const DEFAULT_API_ENDPOINT_TAB_VISIBLE_COLUMNS = [
  TABLE_COLUMNS_KEYS.REQUEST_METHOD,
  TABLE_COLUMNS_KEYS.DESCRIPTION,
];

export const DEFAULT_TOPIC_VISIBLE_COLUMNS = [
  TABLE_COLUMNS_KEYS.DESCRIPTION,
  TABLE_COLUMNS_KEYS.DATA_TYPE,
  TABLE_COLUMNS_KEYS.TAGS,
  TABLE_COLUMNS_KEYS.GLOSSARY,
];

export const DEFAULT_SERVICE_VISIBLE_COLUMNS = [
  TABLE_COLUMNS_KEYS.DESCRIPTION,
  TABLE_COLUMNS_KEYS.SERVICE_TYPE,
  TABLE_COLUMNS_KEYS.OWNERS,
];

export const DEFAULT_SERVICE_TAB_VISIBLE_COLUMNS = [
  TABLE_COLUMNS_KEYS.DESCRIPTION,
  TABLE_COLUMNS_KEYS.OWNERS,
  TABLE_COLUMNS_KEYS.TAGS,
];

export const DEFAULT_DATABASE_SCHEMA_VISIBLE_COLUMNS = [
  TABLE_COLUMNS_KEYS.OWNERS,
  TABLE_COLUMNS_KEYS.DESCRIPTION,
  TABLE_COLUMNS_KEYS.USAGE_SUMMARY,
];

export const DEFAULT_DATABASE_SCHEMA_TABLE_VISIBLE_COLUMNS = [
  TABLE_COLUMNS_KEYS.OWNERS,
  TABLE_COLUMNS_KEYS.DESCRIPTION,
  TABLE_COLUMNS_KEYS.TAGS,
];

export const DEFAULT_CONTAINER_DATA_MODEL_VISIBLE_COLUMNS = [
  TABLE_COLUMNS_KEYS.DATA_TYPE_DISPLAY,
  TABLE_COLUMNS_KEYS.DESCRIPTION,
  TABLE_COLUMNS_KEYS.TAGS,
  TABLE_COLUMNS_KEYS.GLOSSARY,
];

export const DEFAULT_WORKSHEET_DATA_MODEL_VISIBLE_COLUMNS = [
  TABLE_COLUMNS_KEYS.DATA_TYPE_DISPLAY,
  TABLE_COLUMNS_KEYS.DESCRIPTION,
  TABLE_COLUMNS_KEYS.TAGS,
  TABLE_COLUMNS_KEYS.GLOSSARY,
];
